package cz.zcu.fav.ratdroid.activity.calendar.provider;

import java.io.Serializable;

import org.joda.time.LocalDate;
import org.joda.time.LocalDateTime;

import android.content.Context;
import cz.zcu.fav.ratdroid.activity.calendar.day.BlockView;
import cz.zcu.fav.ratdroid.bean.Occupations;
import cz.zcu.fav.ratdroid.bean.Period;
import cz.zcu.fav.ratdroid.bean.Reservations;
import cz.zcu.fav.ratdroid.service.IRestListener;
import cz.zcu.fav.ratdroid.service.RestTask;
import cz.zcu.fav.ratdroid.bean.Object;

public interface ICalendarDataProvider extends Serializable
{

	public static String CALENDAR_DATA_PROVIDER_IDENTIFIER = "dataprovider.identifier";
	
	RestTask<Occupations> getDatesOccupation(Context context, int month,
			int year, IRestListener<Occupations> listener);

	RestTask<Reservations> getReservations(Context context,
			LocalDateTime since, LocalDateTime to,
			IRestListener<Reservations> listener);
	
	public BlockView getBlock(Context context, String title,
			 int column, Period period, LocalDate selectedDate);
	 
	Object provideObject();
}
